The present invention relates generally to systems and methods for transmitting frames or packets of information through a communication network. More particularly, the invention is directed to systems and methods for transmitting frames or packets of information in serial networks which utilize acknowledgments and allow out-of-order delivery of the frames or packets.
Numerous serial data communication protocols exist for transmitting frames or packets of information from an initiator (source) node to a recipient (destination) node in local and wide area networks. To ensure the consistency of the data at the receiving end, conventional practice involves the use of an acknowledgment transmission from the recipient node back to the initiator node upon acceptance of the information in the frame by the recipient. Though acknowledgment signals are not used as a routine in voice communication environments, comprehensive acknowledgment usage is mandatory for integrity in digital data transmissions.
A commercially available example of a serial network is the fibre optical serial channel used with the RISC System/6000 workstation product sold by IBM Corporation. Another example of such a system is defined by the Fibre Channel Standard (FCS) being developed by the American National Standards Institute (ANSI) X3T9.3 Task Group. The technology is documented in the Fibre Channel Physical and Signaling Interface (FC.sub.-- PH) Rev. 2.2 document available from Global Engineering, 2805 McGaw Street, Irvine, Calif. 92714.
A fundamental weakness of the technologies in present use and proposed in such standards arises from the need of an acknowledgment frame for each data frame transmitted by the initiator. Without specific network protocol constraints, out-of-order delivery of data frames is the serial packet network norm of operation. Even if delivery of data frames or packets follows the order transmitted, there remains the possibility that the processing of the frames by the recipient to confirm adequacy of the information in the frames may differ between successive frames. The timing of the acknowledgment transmissions would follow accordingly. Similarly, the acknowledgment frame is also subject to the out-of-order delivery to the initiator as a consequence of a busy network. In some circumstances the acknowledgment frame is completely lost as a consequence of an error in the network. Also possible are volitional deletions of acknowledgments by the network as a consequence of congestion or priority conditions. On the other hand, the rate of network communication is reduced significantly if the protocol requires that the data frames wait for an acknowledgment of each preceding data transmission, or that channels of the network be monopolized to ensure consistency of the data transmission and acknowledgment information.
In addition to acknowledgments that are lost, and as a consequence initiate error procedures within the network, standards of the type noted earlier define networks in which one or more acknowledgment frames have the misfortune of being transmitted and retransmitted into a then busy network. In each case the acknowledgment frames are returned to recipient node for later retransmission while the initiator node waits for the acknowledgment specific to the data frame.
Given the difficulty of handling out-of-order or lost acknowledgments, the prevailing design practice has been to require an ordered transmission in which an acknowledgment is expected for each data frame transmitted. Though the standards contemplate the use of time windows for delayed acknowledgment, the approach has proven to be relatively slow and particularly susceptible to further degradation as network congestion increases.